System and Methods to Enable User Control of an Autonomous Vehicle

ABSTRACT

Systems and methods for providing a user control of an autonomous vehicle to enable the user to assist the autonomous vehicle. In one example embodiment, a computer implemented method includes identifying, by a computing system comprising one or more computing devices, an occurrence of an event associated with an autonomous vehicle. The event can hinder an ability of the autonomous vehicle to operate in an autonomous operating mode. In response to the occurrence of the event associated with the autonomous vehicle, the method includes determining, by the computing system, a user to operate the autonomous vehicle based at least in part on a profile associated with the user. The method includes providing, by the computing system, one or more control signals to cause the autonomous vehicle to enter into an operating mode that allows the user to operate the autonomous vehicle.

FIELD

The present disclosure relates generally to controlling the operatingmodes of an autonomous vehicle to enable a user to assistance anautonomous vehicle.

BACKGROUND

An autonomous vehicle is a vehicle that is capable of sensing itsenvironment and navigating without human input. In particular, anautonomous vehicle can observe its surrounding environment using avariety of sensors and can attempt to comprehend the environment byperforming various processing techniques on data collected by thesensors. Given knowledge of its surrounding environment, the autonomousvehicle can identify an appropriate motion path through such surroundingenvironment.

SUMMARY

Aspects and advantages of embodiments of the present disclosure will beset forth in part in the following description, or may be learned fromthe description, or may be learned through practice of the embodiments.

One example aspect of the present disclosure is directed to a computingsystem for providing user control of autonomous vehicles. The computingsystem includes one or more processors and one or more memory devices.The one or more memory devices store instructions that when executed bythe one or more processors cause the computing system to performoperations. The operations include identifying an occurrence of an eventassociated with an autonomous vehicle. The operations include inresponse to identifying the occurrence of the event associated with theautonomous vehicle, identifying one or more users to potentially operatethe autonomous vehicle to move the autonomous vehicle from a stoppedposition. The operations include determining at least one of the usersto operate the autonomous vehicle based at least in part on a profileassociated with the at least one user. The operations include providingone or more control signals to cause the autonomous vehicle to enterinto an operating mode that allows the at least one user to operate theautonomous vehicle.

Another example aspect of the present disclosure is directed to acomputer-implemented method of providing user control of autonomousvehicles. The method includes identifying, by a computing systemcomprising one or more computing devices, an occurrence of an eventassociated with an autonomous vehicle. The event hinders an ability ofthe autonomous vehicle to operate in an autonomous operating mode. Themethod includes in response to the occurrence of the event associatedwith the autonomous vehicle, determining, by the computing system, auser to operate the autonomous vehicle based at least in part on aprofile associated with the user. The method includes providing, by thecomputing system, one or more control signals to cause the autonomousvehicle to enter into an operating mode that allows the user to operatethe autonomous vehicle.

Yet another example aspect of the present disclosure is directed to anautonomous vehicle. The autonomous vehicle includes one or moreprocessors and one or more memory devices. The one or more memorydevices store instructions that when executed by the one or moreprocessors cause the autonomous vehicle to perform operations. Theoperations include providing, to one or more computing devices that areremote from the autonomous vehicle, data indicative of an eventassociated with the autonomous vehicle. The operations include receivingdata indicating that the autonomous vehicle is to enter into anoperating mode. The operating mode allows a user to operate theautonomous vehicle to control a motion of the autonomous vehicle. Theuser is determined based at least in part on a profile associated withthe user. The operations include causing the autonomous vehicle to enterinto the operating mode to allow the user to operate the autonomousvehicle to control the motion of the autonomous vehicle.

Other example aspects of the present disclosure are directed to systems,methods, vehicles, apparatuses, tangible, non-transitorycomputer-readable media, and memory devices for providing user controlof autonomous vehicles.

These and other features, aspects and advantages of various embodimentswill become better understood with reference to the followingdescription and appended claims. The accompanying drawings, which areincorporated in and constitute a part of this specification, illustrateembodiments of the present disclosure and, together with thedescription, serve to explain the related principles.

BRIEF DESCRIPTION OF THE DRAWINGS

Detailed discussion of embodiments directed to one of ordinary skill inthe art are set forth in the specification, which makes reference to theappended figures, in which:

FIG. 1 depicts an example system overview according to exampleembodiments of the present disclosure;

FIG. 2 depicts an example user profile according to example embodimentsof the present disclosure;

FIG. 3 depicts an example vehicle travel way with a vehicle in a firstposition according to example embodiments of the present disclosure;

FIG. 4 depicts an example geographic area with user(s) according toexample embodiments of the present disclosure;

FIG. 5 depicts an example display device with an example user interfaceaccording to example embodiments of the present disclosure;

FIG. 6 depicts an example vehicle travel way with a vehicle in a secondposition according to example embodiments of the present disclosure;

FIG. 7 depicts a flow diagram of an example method of providing usercontrol of autonomous vehicles according to example embodiments of thepresent disclosure; and

FIG. 8 depicts example system components according to exampleembodiments of the present disclosure.

DETAILED DESCRIPTION

Reference now will be made in detail to embodiments, one or moreexample(s) of which are illustrated in the drawings. Each example isprovided by way of explanation of the embodiments, not limitation of thepresent disclosure. In fact, it will be apparent to those skilled in theart that various modifications and variations can be made to theembodiments without departing from the scope or spirit of the presentdisclosure. For instance, features illustrated or described as part ofone embodiment can be used with another embodiment to yield a stillfurther embodiment. Thus, it is intended that aspects of the presentdisclosure cover such modifications and variations.

Example aspects of the present disclosure are directed to providing auser with manual control of a distressed autonomous vehicle to improvethe ability to assist a distressed autonomous vehicle. For instance, anentity (e.g., service provider) can use a fleet of vehicles to provide avehicle service (e.g., transportation service) to a plurality of usersassociated with the vehicle service. The fleet can include, for example,autonomous vehicles that can drive, navigate, operate, etc. with minimaland/or no interaction from a human driver. The autonomous vehicles canbe configured to operate in a plurality of operating modes such as amanual operating mode (e.g., the vehicle is fully controlled by a humandriver), a semi-autonomous operating mode (e.g., the vehicle operateswith some interaction from a human driver), and/or a fully autonomousoperating mode (e.g., vehicle operates with no interaction from a humandriver). The autonomous vehicles can be configured to provide one ormore vehicle services such as, for example, a transportation service(e.g., rideshare service) to one or more users. The user(s) associatedwith the vehicle service can be, for example, passenger(s) of theautonomous vehicle and/or another type of user, as will be furtherdescribed herein. Each user can have a profile that indicates varioustypes of information about the user. For example, the profile caninclude information such as the user's name, vehicle preferences,rating, etc. In some implementations, the profile can optionally includeinformation indicating whether the user is legally able to operate thevehicle, has a valid license, driving restrictions, etc. and/or anindication as to whether the user is willing to assist a distressedautonomous vehicle.

By way of example, the autonomous vehicle can experience an event suchas a fault (e.g., sensor error, data storage failure, onboard systemcommunication error, etc.) that reduces (or at least temporarilyeliminates) the ability of the autonomous vehicle to autonomouslyoperate (e.g., without human interaction). As a safety precaution, theautonomous vehicle may decelerate to a stopped position, which may occurin a travel way of the vehicle (e.g., a traffic lane). The entity candetermine whether a user (e.g., a current passenger that is not adesignated safety driver of the vehicle) is authorized and willing tooperate the autonomous vehicle (e.g., to move the vehicle to a safelocation) based at least in part on a profile associated with the user.If so, the entity can request that the user operate the vehicle so longas the user would not be placed in a potentially dangerous position. Theautonomous vehicle can enter into a manual operating mode to allow theuser to move the autonomous vehicle from its stopped position (e.g., toa safer area). In this way, the systems and methods of the presentdisclosure can help reduce potential risk to the autonomous vehicle andhelp prevent resultant traffic build-up, without having to deploy amaintenance team to move the distressed vehicle.

More particularly, an entity (e.g., service provider, owner, manager)can use one or more vehicles (e.g., ground-based vehicles) to provide avehicle service such as a transportation service (e.g., rideshareservice), a courier service, a delivery service, etc. The vehicle(s) canbe autonomous vehicles that include various systems and devicesconfigured to control the operation of the vehicle. For example, anautonomous vehicle can include a vehicle computing system for operatingthe vehicle. The vehicle computing system is located onboard theautonomous vehicle, in that the vehicle computing system is located onor within the autonomous vehicle. The vehicle computing system canreceive sensor data from sensor(s) onboard the vehicle (e.g., cameras,LIDAR, RADAR), attempt to comprehend the vehicle's surroundingenvironment by performing various processing techniques on the sensordata, and generate an appropriate motion plan through the vehicle'ssurrounding environment. Moreover, the autonomous vehicle can beconfigured to communicate with one or more computing devices that areremote from the vehicle. For example, the autonomous vehicle cancommunicate with an operations computing system that can be associatedwith the entity. The operations computing system can help the entitymonitor, communicate with, manage, etc. the fleet of vehicles.

An autonomous vehicle can be configured to operate in a plurality ofoperating modes. For example, an autonomous vehicle can be configured tooperate in a fully autonomous (e.g., self-driving) operating mode inwhich the autonomous vehicle can drive and navigate with no interactionfrom a user present in the vehicle. The autonomous vehicle can beconfigured to operate in a semi-autonomous operating mode in which theautonomous vehicle can operate with some interaction from a user presentin the vehicle. In some implementations, the autonomous vehicle canenter into a manual operating mode in which the vehicle is fullycontrollable by a user (e.g., human driver) and can be prohibited fromperforming autonomous navigation (e.g., autonomous driving that may beinconsistent with a human operator's control).

The autonomous vehicle can experience an event that effects theautonomous operation of the vehicle. For instance, the autonomousvehicle can experience a fault in the operation of one or more of itssensors (e.g., LIDAR system), a fault associated with the vehicle'sonboard autonomy computing system, a fault associated with a vehiclecontrol system, and/or other types of faults. By way of example, theautonomous vehicle can experience a communication error between thevehicle's onboard systems (e.g., between a motion planning system andthe vehicle control system(s)) such that the vehicle is unable toproperly navigate through its surroundings in a fully autonomousoperating mode. As such, the autonomous vehicle can decelerate until thevehicle reaches a stopped position. In some circumstances, the stoppedposition of the vehicle may be located at least partially in a travelway (e.g., traffic lane).

The operations computing system (e.g., of the entity) can identify anoccurrence of the event associated with the autonomous vehicle. In someimplementations, the vehicle computing system of the autonomous vehiclecan inform the operations computing system of the occurrence of theevent. For example, the vehicle computing system can detect acommunication error between the onboard systems of the vehicle. Thevehicle computing system can provide data indicating that thecommunication error has occurred and/or that the vehicle is stopping (orhas stopped) due to the event. The operations computing system canreceive such data and identify that the event associated with theautonomous vehicle has occurred such that the vehicle cannot effectivelyoperate in a fully autonomous operating mode. In some implementations,the operations computing system can monitor the autonomous vehicle(e.g., in real-time, in near real-time, periodically, etc.) anddetermine that an event has occurred with respect to the autonomousvehicle. Additionally, or alternatively, a user (e.g., a passenger, anon-rider observer) can send a communication to the operations computingsystem and/or otherwise inform the entity associated with the vehiclethat an event has occurred (e.g., via a telephone conversation with anoperator, textual message, etc.).

The autonomous vehicle can perform an evaluation to determine whetherthe vehicle is in condition to be operated by a user. The vehiclecomputing system can perform an onboard diagnostic to determine thecause, source, location, etc. of the event to determine if operating theautonomous vehicle in a manual operating mode would increase the risk ofharm to a human driver and/or the risk of harm to the vehicle itself. Byway of example, the vehicle computing system can determine that theautonomous vehicle has a flat tire. The vehicle computing system canprovide a communication to the operations computing system indicatingthat the autonomous vehicle is not in a condition to be operated by ahuman driver. In such a case, the operations computing system cancoordinate the deployment of a maintenance team to the autonomousvehicle.

For an autonomous vehicle that would be safe for a user to operate, thevehicle computing system can identify one or more users that may beavailable to potentially operate the autonomous vehicle. The user(s) canbe associated with a vehicle service (e.g., of the entity). For example,the user(s) can include a user that has downloaded a softwareapplication associated with the entity, a user that has made a servicerequest with the entity, a user that is a customer of the entity, a userthat has registered with (e.g., signed-up with, has an account with, hassubscribed to) the entity, a user that is a vehicle operator (e.g.,human driver) of one or more vehicles within a fleet of the entity, etc.The user(s) can be passenger(s) of the autonomous vehicle. For example,the autonomous vehicle can provide a rideshare service to transport aplurality of passengers from an origin to a destination location. Basedat least in part on the occurrence of the event associated with theautonomous vehicle (e.g., that has caused the vehicle to stop), theoperations computing system can identify the plurality of passengers asusers that could potentially operate the vehicle.

In some implementations, the user(s) can be non-passenger user(s) thatare not currently riding in the autonomous vehicle. By way of example,the autonomous vehicle can experience an event (e.g., sensor hardwareoverheating) while no passengers are riding in the vehicle. Theoperations computing system can identify one or more users associatedwith the vehicle service (e.g., customers of the entity) that are withinthe vicinity of the autonomous vehicle and that could potentiallyoperate the vehicle to move the vehicle to a safer position. In someimplementations, the operations computing system can identify a userthat is a vehicle operator associated with the entity. By way ofexample, another vehicle within the vehicle fleet can be located withinthe vicinity of the autonomous vehicle. The operations computing systemcan identify a human driver of that other vehicle as a user that couldpotentially operate the autonomous vehicle to move it to a differentlocation.

In some implementations, the operations computing system can identifyusers that can potentially operate the autonomous vehicle based at leastin part on one or more factor(s). For example, the operations computingsystem can identify the user(s) based at least in part on a distancebetween the user(s) and the autonomous vehicle, an estimated time itwould take for the user(s) to travel to the autonomous vehicle, a routethe user(s) would traverse to arrive at the location of the autonomousvehicle, and/or other factors. For example, the operations computingsystem may first identify passengers of the autonomous vehicle, thennearby non-passenger users of the vehicle service(s), and then humandriver(s) of other vehicles in the fleet based on the distance, time,route, etc. between that respective user and the autonomous vehicle.

Each user can be associated with a profile that includes various typesof information associated with the user. For example, the entity canmaintain a database of profiles of the users associated with the vehicleservices (and/or the entity). The profile can be a data structure thatincludes information such as a user identifier (e.g., name, emailaddress, etc.), age, preferences (e.g., type of vehicle, music,temperature, driving style, etc.), legal restrictions, physicalrestrictions, and/or other information associated with a user. In someimplementations, the profile can optionally include informationindicating that the user is legally authorized to operate a vehicle(e.g., information associated with a vehicle operating license). Theprofile can also include an indication of the user's willingness tooperate the autonomous vehicle (e.g., due to an event that causes thevehicle to be distressed). A profile associated with a user can begenerated by the entity associated with the autonomous vehicle and/or bythe user (e.g., when the user registers with the entity, downloads asoftware application, etc.).

A user can be permitted a certain level of control over the types ofinformation included in the user's profile. For example, a user canselect whether information associated with the user's vehicle operatinglicense is included in the user's profile and/or whether the user iswilling to operate a distressed autonomous vehicle. In someimplementations, data/information associated with the user can betreated and/or processed using one or more techniques before it isstored and/or used. For example, one or more processing techniques canbe utilized to remove certain user information and/or geographicinformation associated with the user. In some implementations, a userprofile may not be created unless the user downloads a particularsoftware application, selects a setting on a user device, etc. This canallow a user to elect whether (and/or when) the entity obtainsinformation.

The operations computing system can determine a user to operate theautonomous vehicle based at least in part on the profile associated withthe user. For example, the operations computing system can access theprofile associated with a user to determine whether the user isauthorized to operate the vehicle based at least in part on a vehicleoperating license (e.g., driver's license) of the user. Additionally, oralternatively, the operations computing system can confirm that the useris willing to operate the autonomous vehicle based at least in part onsuch an indication provided in the respective user profile. Theoperations computing system can also, or alternatively, select a user tooperate the autonomous vehicle based at least in part on otherinformation provided in the user's profile.

The operations computing system can facilitate communication with a userto request that the user operate the autonomous vehicle to control themotion of the vehicle (e.g., to change the location of the vehicle). Forexample, the operations computing system can send a textual message tothe selected user via a user device associated with the user (e.g., amobile phone) and/or via a human machine interface (e.g., a tablet)onboard the autonomous vehicle. The textual message can inquire as tothe user's willingness to operate the autonomous vehicle and/or requestthat the user operate the autonomous vehicle. In some implementations, ahuman operator associated with the entity can contact the user todetermine whether the user is willing to operate the autonomous vehicleand/or request that the user operate the autonomous vehicle. In someimplementations, the user can be provided with an incentive (e.g.,monetary, credit, discount, increase user rating, etc.) to operate theautonomous vehicle.

The following provides an example of the identification and selection ofa user to operate the autonomous vehicle. One or more passengers can beriding in the autonomous vehicle for a transportation service when arock strikes the vehicle sensors. As a precautionary measure, theautonomous vehicle can decelerate to a stopped position. The stoppedposition may be at least partially within a roadway. The operationscomputing system can detect the occurrence of such an event, asdescribed herein. The operations computing system can identify one ormore of the passengers of the autonomous vehicle as users that canpotentially operate the vehicle to move it from the stopped position toa shoulder of the road. The operations computing system can access theprofiles associated with the one or more users to determine which (ifany) of the users are licensed to operate the vehicle and/or are willingto operate the vehicle. The operations computing system can determine atleast one of the users to operate the autonomous vehicle based at leastin part on the profile associated with that user (and/or the other userprofiles). For example, only one of the passengers may have a validdriver's license and/or have indicated a willingness to operate anautonomous vehicle. Thus, the operations computing system can send acommunication to the selected user to request that the user drive theautonomous vehicle to a safe location on the shoulder of the road.

In some implementations, the operations computing system can perform anadditional user authorization step. For example, if a user is willing tooperate the autonomous vehicle, the operations computing system canprompt the user (e.g., via a user device, human machine interface, etc.)to scan the user's vehicle operating license via an imaging deviceassociated with a user device and/or onboard the autonomous vehicle. Inthis way, the operations computing system can attempt to obtainup-to-date information regarding the user's legal operating status withrespect to a vehicle.

To enable the user to operate the autonomous vehicle, the operationscomputing system can adjust the operating mode of the autonomousvehicle. For instance, the operations computing system can provide oneor more control signals to cause the autonomous vehicle to enter into anoperating mode that allows the user to operate the autonomous vehicle.By way of example, the operations computing system can send one or morefirst control signals to the vehicle computing system instructing theautonomous vehicle to enter into a manual operating mode. The vehiclecomputing system can receive the first control signal(s) indicating thatthe autonomous vehicle is to enter into the manual operating mode. Thevehicle computing system can adjust the operating mode of the vehicleaccordingly. For instance, the vehicle computing system can send one ormore second control signals to one or more systems onboard the vehicle(e.g., the vehicle control systems) to cause the vehicle to enter intothe manual operating mode. The autonomous vehicle can enter into themanual operating mode such that the user can control the motion of theautonomous vehicle via one or more vehicle input devices within theinterior of the autonomous vehicle (e.g., steering mechanism,acceleration mechanism, braking mechanism, etc.).

In some implementations, the autonomous vehicle can be subject to one ormore limitations while in the manual operating mode. For example, theautonomous vehicle can be subject to a limitation on a speed associatedwith the autonomous vehicle (e.g., a maximum speed and/or accelerationlimit), a limitation on a distance associated with the autonomousvehicle (e.g., a maximum distance the vehicle is permitted to travelfrom its stopped position), a limitation on an amount of time a user canoperate the autonomous vehicle, and/or other limitations. Additionally,and/or alternatively, the autonomous vehicle can be subject to alimitation on the location to which the autonomous vehicle can travel.By way of example, the vehicle computing system can determine thattraffic is located (or likely to be located) to the left of theautonomous vehicle based at least in part on sensor data associated withthe vehicle's surrounding environment (e.g., LIDAR data showing one ormore objects to the left of the vehicle) and/or map data provided to theautonomous vehicle (e.g., indicating an active travel lane adjacent tothe vehicle). The vehicle computing system can limit the motion of asteering mechanism of the autonomous vehicle such that the user cannotsteer the vehicle into traffic from the stopped position of the vehicle.In this way, the vehicle computing system can leverage the data acquiredonboard the vehicle and/or provided to the autonomous vehicle to helpincrease the safety of the user and the autonomous vehicle while in themanual operating mode.

The systems and methods described herein may provide a number oftechnical effects and benefits. For instance, the operations computingsystem can leverage a network of users to select a user that is withinthe vicinity of the vehicle (or a passenger of the vehicle) to manuallycontrol a distressed autonomous vehicle. This allows the autonomousvehicle to be quickly moved to a location that may be safer for thevehicle (and its passengers) and that may be more convenient for thevehicle to re-cycle its power, perform onboard diagnostics, receiveremote trouble-shooting instructions, etc.

Additionally, by enabling users to manually operate a distressedautonomous vehicle, the systems and methods described herein can helpsave valuable resources that would otherwise be used for coordinatingand deploying maintenance/servicing teams to the vehicles. Moreparticularly, some vehicle events can be addressed by the vehiclecomputing system (e.g., via a power re-boot) and/or via remotecommunication with an off-board computing system. Thus, by enabling auser to move the vehicle, the operations computing system can avoidsending a maintenance team to a vehicle that may be able to address anevent without the maintenance team. By reducing the need for maintenanceteam deployment, the systems and methods described herein can limit theallocation of processing and storage resources that are required forsuch deployment (e.g., by the operations computing system). The savedresources can be allocated to other functions of the operationscomputing systems, such as the processing of service requests,generating user interfaces, vehicle routing, etc. In this way, thesystems and methods according to example aspects of the presentdisclosure have a technical effect of providing a computationallyefficient approach to assisting distressed vehicles.

The systems and methods of the present disclosure also provide animprovement to vehicle computing technology, such as autonomous vehiclecomputing technology. For instance, the computer-implemented methods andsystems improve the ability of the computing technology to assist adistressed autonomous vehicle that has been deployed for service. Forexample, the systems and methods can enable computing device(s) (e.g.,of an operations computing system) to identify the occurrence of anevent associated with an autonomous vehicle that is configured toprovide a vehicle service. The event can include, for example, a faultthat effects autonomous operation of the autonomous vehicle, such thatthe vehicle decelerates to a stopped position as a safety precaution.The computing device(s) can identify one or more users to potentiallyoperate the autonomous vehicle to move the autonomous vehicle from thestopped position. The computing device(s) can determine at least one ofthe users to operate the autonomous vehicle based at least in part on aprofile associated with the at least one user. The computing device(s)can provide one or more control signals to cause the autonomous vehicleto enter into an operating mode that allows the at least one user tooperate the autonomous vehicle (e.g., to move the vehicle from itsstopped position). By selecting a user based at least in part on a userprofile, the operations computing system can effectively and efficientlydetermine a user that is authorized and willing to operate theautonomous vehicle. This can allow the operations computing system toavoid real-time vetting of users to operate the autonomous vehicle,saving considerable processing resources. Moreover, by enabling thevehicle to be manually controlled by a user, the operations computingsystem can avoid significant communication latency problems that canarise from remote control of the vehicle.

With reference now to the FIGS., example embodiments of the presentdisclosure will be discussed in further detail. FIG. 1 depicts anexample system 100 according to example embodiments of the presentdisclosure. The system 100 can include a vehicle computing system 102associated with a vehicle 104 and an operations computing system 106that is remote from the vehicle 104.

The vehicle 104 incorporating the vehicle computing system 102 can be aground-based autonomous vehicle (e.g., car, truck, bus, etc.), anair-based autonomous vehicle (e.g., airplane, drone, helicopter, orother aircraft), or other types of vehicles (e.g., watercraft, etc.).The vehicle 104 can be an autonomous vehicle that can drive, navigate,operate, etc. with minimal and/or no interaction from a human driver.For instance, the vehicle 104 can be configured to operate in aplurality of operating modes 108A-C. The vehicle 104 can be configuredto operate in a fully autonomous (e.g., self-driving) operating mode108A in which the vehicle 104 can drive and navigate with no input froma user present in the vehicle 104. The vehicle 104 can be configured tooperate in a semi-autonomous operating mode 108B in which the vehicle104 can operate with some input from a user present in the vehicle 104.The vehicle 104 can enter into a manual operating mode 108C in which thevehicle 104 is fully controllable by a user (e.g., human driver) and canbe prohibited from performing autonomous navigation (e.g., autonomousdriving). In some implementations, the vehicle 104 can implement vehicleoperating assistance technology (e.g., collision mitigation system,power assist steering, etc.) while in the manual operating mode 108C tohelp assist the operator of the vehicle 104.

The operating mode of the vehicle 104 can be adjusted in a variety ofmanners. In some implementations, the operating mode of the vehicle 104can be selected remotely, off-board the vehicle 104. For example, anentity associated with the vehicle 104 (e.g., a service provider) canutilize the operations computing system 106 to manage the vehicle 104(and/or an associated fleet). The operations computing system 106 cansend one or more control signals to the vehicle 104 instructing thevehicle 104 to enter into, exit from, maintain, etc. an operating mode.By way of example, the operations computing system 106 can send one ormore control signals to the vehicle 104 instructing the vehicle 104 toenter into the fully autonomous operating mode 108A. In someimplementations, the operating mode of the vehicle 104 can be setonboard and/or near the vehicle 104. For example, the operating mode ofthe vehicle 104 can be selected via one or more interfaces locatedonboard the vehicle 104 (e.g., key switch, button, etc.) and/orassociated with a computing device proximate to the vehicle 104 (e.g., atablet operated by authorized personnel located near the vehicle 104).In some implementations, the operating mode of the vehicle 104 can beadjusted based at least in part on a sequence of interfaces located onthe vehicle 104. For example, the operating mode may be adjusted bymanipulating a series of interfaces in a particular order to cause thevehicle 104 to enter into a particular operating mode.

In some implementations, the vehicle 104 can be associated with anentity (e.g., a service provider, owner, manager). The entity can be onethat provides one or more vehicle service(s) to a plurality of users viaa fleet of vehicles that includes, for example, the vehicle 104. In someimplementations, the entity can be associated with only vehicle 104(e.g., a sole owner, manager). In some implementations, the operationscomputing system 106 can be associated with the entity.

The vehicle 104 can be configured to provide one or more vehicleservices to one or more users. The vehicle service(s) can includetransportation services (e.g., rideshare services in which user rides inthe vehicle 104 to be transported), courier services, delivery services,and/or other types of services. The vehicle 104 can operate in aparticular operating mode when providing the vehicle service to theuser(s). For example, the vehicle 104 can operate in a fully autonomousmode 108A when providing a transportation service to the user(s).

A user can be associated with a profile that indicates various types ofinformation about the user. For instance, FIG. 2 depicts an example userprofile 200 according to example embodiments of the present disclosure.The profile 200 can be a data structure that stores informationassociated with a user. In some implementations, an entity associatedwith the vehicle 104 can maintain a secure database of profiles of theusers associated with the vehicle services. The profile 200 can beaccessed by a user (e.g., via a computing device) and/or by the entity(e.g., by authorized personnel). In some implementations, the profile200 can be provided for display via an interactive user interface of adisplay device. This can allow a user and/or the entity to modify, edit,remove, etc. the profile 200 and the information included therein. Insome implementations, a user can create the profile 200 associated withthe user by, for example, providing user input via a user interface.Additionally, or alternatively, a computing system associated with theentity can automatically generate a profile 200 associated with a user(e.g., when a user registers with the entity, downloads a softwareapplication, etc.).

The profile 200 can include a variety of information associated with theuser (and/or links thereto). Some or all of the information included inthe profile 200 may be optionally included in the profile 200. Forexample, in some implementations, the profile 200 can include a useridentifier 202 such as a name of a user, an email address of a user, ausername associated with a user, and/or other information that can beused to help identify a user. As shown in FIG. 2, the profile 200 canalso include an age of the user. In some implementations, the profile200 can include information associated with one or more preferences 204of a user. For example, the profile 200 can include informationassociated with a preferred music (e.g., genre, time period, etc.), apreferred vehicle type (e.g., make, model, year, luxury level, etc.), apreferred internal temperature of a vehicle, a preferred driving style(e.g., avoidance of speed bumps), and/or other preferences associatewith a user. In some implementations, the profile 200 can optionallyinclude information associated with one or more payment methods 206associated with a user. For example, in the event that the entitycoordinates one or more vehicles to provide a vehicle service to a user,the user may transmit payment to the entity for the vehicle services viaone or more of the payment methods (e.g., credit card information,electronic payment information, etc.). The profile 200 can includeinformation 208 associated with a rating and/or history of a user. Forexample, a user can be associated with a rating that is indicative ofthe user's behavior when receiving vehicle services, paymentreliability, etc. A history associated with a user can include a history(e.g., date, time, duration, location, etc.) of the vehicle servicesprovided to a user.

In some implementations, the profile 200 can optionally includeinformation 210 associated with a vehicle operating license of a user.For example, the profile 200 can optionally include a number associatedwith the vehicle operating license of a user, an issuing authorityassociated with the vehicle operating license, an issue date associatedwith the vehicle operating license, an expiration date associated withthe vehicle operating license, any restrictions associated with thevehicle operating license (e.g., time of day restrictions, etc.), and/orother information associated with a vehicle operating license of a user.Such information can allow the profile 200 to indicate that a user islegally able to operate a vehicle 104. The information 210 can beutilized to determine that a user is legally able to operate a vehicleand then can be deleted such that the information 210 is not stored bythe operations computing system 106.

The profile 200 associated with the user can also, or alternatively,include data 212 indicative of a willingness of the user to operate avehicle 104 (e.g., an autonomous vehicle). For example, a user can beprompted to indicate whether or not the user would be willing to operatea vehicle in the event that the vehicle needs assistance from a humandriver. The profile 200 can include data 212 (e.g., text, graphicrepresentation, symbol, etc.) that indicates that the user is willing tooperate a vehicle, that the user is not willing to operate a vehicle,and/or that the user has not responded to such a prompt. In someimplementations, a user's willingness to operate a distressed vehiclecan affect the provision of services to the user. For instance, whengenerating a pool of users to be assigned to a vehicle fortransportation services (e.g., a pool for rideshare services), theoperations computing system 106 can select at least one user to includein the pool that is legally able and/or willing to operate the vehicle.

As described herein, a user can be permitted a certain level of controlover the types of information included in the profile 200. For example,a user can select whether information 210 associated with the user'svehicle operating license is included in the profile 200 and/or whetherthe profile 200 indicates that the user is willing to operate adistressed vehicle. In some implementations, data/information associatedwith the user can be treated and/or processed using one or moretechniques before it is stored and/or used. For example, one or moreprocessing techniques can be utilized to remove certain informationassociated with the user. In some implementations, the profile 200 maynot be created unless the user downloads a particular softwareapplication, selects a setting on a user device, provides expresspermission, etc. This can allow a user to elect whether (and/or when)the entity obtains information associated with a user.

Returning to FIG. 1, the vehicle computing system 102 can include one ormore computing devices located onboard the vehicle 104. For example, thecomputing device(s) can be located on and/or within the vehicle 104. Thecomputing device(s) can include various components for performingvarious operations and functions. For instance, the computing device(s)can include one or more processor(s) and one or more tangible,non-transitory, computer readable media. The one or more tangible,non-transitory, computer readable media can store instructions that whenexecuted by the one or more processor(s) cause the vehicle 104 (e.g.,its computing system, one or more processors, etc.) to performoperations and functions.

As shown in FIG. 1, the vehicle 104 can include one or more sensors 112,an autonomy computing system 114, and one or more vehicle controlsystems 116. One or more of these systems can be configured tocommunicate with one another via a communication channel. Thecommunication channel can include one or more data buses (e.g.,controller area network (CAN)), on-board diagnostics connector (e.g.,OBD-II), and/or a combination of wired and/or wireless communicationlinks. The onboard systems can send and/or receive data, messages,signals, etc. amongst one another via the communication channel.

The sensor(s) 112 can be configured to acquire sensor data 118associated with one or more objects that are proximate to the vehicle104 (e.g., within a field of view of one or more of the sensor(s) 112).The sensor(s) 112 can include a Light Detection and Ranging (LIDAR)system, a Radio Detection and Ranging (RADAR) system, one or morecameras (e.g., visible spectrum cameras, infrared cameras, etc.), motionsensors, and/or other types of imaging capture devices and/or sensors.The sensor data 118 can include image data, radar data, LIDAR data,and/or other data acquired by the sensor(s) 112. The object(s) caninclude, for example, pedestrians, vehicles, bicycles, and/or otherobjects. The object(s) can be located in front of, to the rear of,and/or to the side of the vehicle 104. The sensor data 118 can beindicative of locations associated with the object(s) within thesurrounding environment of the vehicle 104 at one or more times. Thesensor(s) 112 can provide the sensor data 118 to the autonomy computingsystem 114.

In addition to the sensor data 118, the autonomy computing system 114can retrieve or otherwise obtain map data 120. The map data 120 canprovide detailed information about the surrounding environment of thevehicle 104. For example, the map data 120 can provide informationregarding: the identity and location of different roadways, roadsegments, buildings, or other items or objects (e.g., lampposts,crosswalks, curbing, etc.); the location and directions of traffic lanes(e.g., the location and direction of a parking lane, a turning lane, abicycle lane, or other lanes within a particular roadway or other travelway and/or one or more boundary markings associated therewith); trafficcontrol data (e.g., the location and instructions of signage, trafficlights, or other traffic control devices); and/or any other map datathat provides information that assists the vehicle 104 in comprehendingand perceiving its surrounding environment and its relationship thereto.

The vehicle 104 can include a positioning system 122. The positioningsystem 122 can determine a current position of the vehicle 104. Thepositioning system 122 can be any device or circuitry for analyzing theposition of the vehicle 104. For example, the positioning system 122 candetermine position by using one or more of inertial sensors, a satellitepositioning system, based on IP address, by using triangulation and/orproximity to network access points or other network components (e.g.,cellular towers, WiFi access points, etc.) and/or other suitabletechniques. The position of the vehicle 104 can be used by varioussystems of the vehicle computing system 102 and/or provided to a remotecomputing device (e.g., of the operations computing system 106). Forexample, the map data 120 can provide the vehicle 104 relative positionsof the surrounding environment of the vehicle 104. The vehicle 104 canidentify its position within the surrounding environment (e.g., acrosssix axes) based at least in part on the data described herein. Forexample, the vehicle 104 can process the sensor data 118 (e.g., LIDARdata, camera data) to match it to a map of the surrounding environmentto get an understanding of the vehicle's position within thatenvironment.

The autonomy computing system 114 can include a perception system 124, aprediction system 126, a motion planning system 128, and/or othersystems that cooperate to perceive the surrounding environment of thevehicle 104 and determine a motion plan for controlling the motion ofthe vehicle 104 accordingly. For example, the autonomy computing system114 can receive the sensor data 118 from the sensor(s) 112, attempt tocomprehend the surrounding environment by performing various processingtechniques on the sensor data 118 (and/or other data), and generate anappropriate motion plan through such surrounding environment. Theautonomy computing system 114 can control the one or more vehiclecontrol systems 116 to operate the vehicle 104 according to the motionplan.

The autonomy computing system 114 can identify one or more objects thatare proximate to the vehicle 104 based at least in part on the sensordata 118 and/or the map data 120. For example, the perception system 124can obtain state data 130 descriptive of a current state of an objectthat is proximate to the vehicle 104. The state data 130 for each objectcan describe, for example, an estimate of the object's: current location(also referred to as position); current speed (also referred to asvelocity); current acceleration; current heading; current orientation;size/footprint (e.g., as represented by a bounding polygon); class(e.g., pedestrian class vs. vehicle class vs. bicycle class), and/orother state information. The perception system 124 can provide the statedata 130 to the prediction system 126 (e.g., for predicting the movementof an object).

The prediction system 126 can create predicted data 132 associated witheach of the respective one or more objects proximate to the vehicle 104.The predicted data 132 can be indicative of one or more predicted futurelocations of each respective object. The predicted data 132 can beindicative of a predicted path (e.g., predicted trajectory) of at leastone object within the surrounding environment of the vehicle 104. Forexample, the predicted path (e.g., trajectory) can indicate a path alongwhich the respective object is predicted to travel over time (and/or thespeed at which the object is predicted to travel along the predictedpath). The prediction system 126 can provide the predicted data 132associated with the object(s) to the motion planning system 128.

The motion planning system 128 can determine a motion plan 134 for thevehicle 104 based at least in part on the predicted data 132 (and/orother data). The motion plan 134 can include vehicle actions withrespect to the objects proximate to the vehicle 104 as well as thepredicted movements. For instance, the motion planning system 128 canimplement an optimization algorithm that considers cost data associatedwith a vehicle action as well as other objective functions (e.g., costfunctions based on speed limits, traffic lights, etc.), if any, todetermine optimized variables that make up the motion plan 134. By wayof example, the motion planning system 128 can determine that thevehicle 104 can perform a certain action (e.g., pass an object) withoutincreasing the potential risk to the vehicle 104 and/or violating anytraffic laws (e.g., speed limits, lane boundaries, signage). The motionplan 134 can include a planned trajectory, speed, acceleration, etc. ofthe vehicle 104.

The motion planning system 128 can provide the motion plan 134 with dataindicative of the vehicle actions, a planned trajectory, and/or otheroperating parameters to the vehicle control system(s) 116 to implementthe motion plan 134 for the vehicle 104. For instance, the vehicle 104can include a mobility controller configured to translate the motionplan 134 into instructions. By way of example, the mobility controllercan translate a determined motion plan 134 into instructions to adjustthe steering of the vehicle 104 “X” degrees, apply a certain magnitudeof braking force, etc. The mobility controller can send one or morecontrol signals to the responsible vehicle control component (e.g.,braking control system, steering control system, acceleration controlsystem) to execute the instructions and implement the motion plan 134.

The vehicle 104 can include a communications system 136 configured toallow the vehicle computing system 102 (and its computing device(s)) tocommunicate with other computing devices. The vehicle computing system102 can use the communications system 136 to communicate with theoperations computing system 106 and/or one or more other remotecomputing device(s) over one or more networks (e.g., via one or morewireless signal connections). In some implementations, thecommunications system 136 can allow communication among one or more ofthe system(s) on-board the vehicle 104. The communications system 136can include any suitable components for interfacing with one or morenetwork(s), including, for example, transmitters, receivers, ports,controllers, antennas, and/or other suitable components that can helpfacilitate communication.

The vehicle 104 can include one or more human-machine interfaces 138.For example, the vehicle 104 can include one or more display deviceslocated onboard the vehicle 104. A display device (e.g., screen of atablet, laptop, etc.) can be viewable by a user of the vehicle 104 thatis located in the front of the vehicle 104 (e.g., driver's seat, frontpassenger seat). Additionally, or alternatively, a display device can beviewable by a user of the vehicle 104 that is located in the rear of thevehicle 104 (e.g., back passenger seat(s)). The human machineinterface(s) 138 can receive information from a user via user inputand/or provide information for display, as further described herein.

The vehicle 104 can also include one or more vehicle input devices thatare located onboard the vehicle 104 (e.g., on and/or within the vehicle104). The vehicle input device(s) can be configured to adjust theoperation of the vehicle 104 based at least in part on an input by auser with respect to the vehicle input device(s) such as by physicalmanipulation, by voice activation, etc. of the vehicle input device(s).For example, when the vehicle input device(s) are enabled, a user canprovide input with respect to the vehicle input device(s) to affect theoperation of the vehicle 104 such as to control motion, motionindication, and/or other features associated with the vehicle 104.

The vehicle 104 can include one or more vehicle input devices that areconfigured to affect the motion of the vehicle 104. Such vehicle inputdevice(s) can include a steering mechanism of the vehicle 104, a brakingmechanism of the vehicle 104, an acceleration mechanism of the vehicle104, and/or other devices. The steering mechanism can include a devicethat can be adjusted to control the heading of the vehicle 104. Forexample, the steering mechanism can include a steering wheel, controlstick, etc. The braking mechanism can include a device that can beadjusted to control the braking of the vehicle 104. For example, thebraking mechanism can include a brake pedal, parking brake, electronicbraking system, etc. The acceleration mechanism can include a devicethat can be adjusted to control the acceleration of the vehicle 104. Forexample, the acceleration mechanism can include a gas pedal, handthrottle, etc. The vehicle input device(s) can also include an inputdevice that controls the power state of the vehicle 104 (e.g., pushbutton, key switch). The vehicle input device(s) can also include a gearshift and/or a PRND control device (e.g., park-reverse-neutral-drivecontrol).

The vehicle input device(s) can also include one or more vehicle inputdevice(s) that are configured to control an indication of vehiclemotion. For example, the vehicle input device(s) can include a turnindication mechanism of the vehicle 104, a hazard indication mechanismof the vehicle 104, and/or other devices. The turn indication mechanismcan include a device that can be adjusted to activate an indication(e.g., a turn signal) that the vehicle may turn. For example, the turnindication mechanism can include a turn signal control, etc. The hazardindication mechanism can include a device that can be adjusted tocontrol a hazard indication provided by the vehicle 104 (e.g., hazardlights). For example, the hazard indication mechanism can include ahazard light activation button, etc. Some vehicle input devices can beconfigured to control both the motion of the vehicle 104 and anindication of vehicle motion. For example, a braking mechanism can beused to cause a deceleration (and/or stop) of the vehicle 104 as well asto activate the braking lights of the vehicle 104 (e.g., to indicate thevehicle is decelerating, stopped, etc.).

In some implementations, the vehicle input device(s) can be associatedwith other features of the vehicle 104. For instance, the vehicle inputdevice(s) can be associated with control of the windshield wipers,headlights, fog lights, horn, vehicle sound system, windows, cabinlighting (e.g., overhead light, instrument panel brightness, etc.),temperature, fan speed, airflow, seat position and/or conditioning,defrost, hood release, truck release, etc. A user can provide input(e.g., physical manipulation, voice activation, etc.) with respect tosuch vehicle input devices to control the various aspects of the vehicle104 associated with the respective vehicle input device.

The operations computing system 106 can include one or more computingdevices that are remote from the vehicle 104 (e.g., located off-boardthe vehicle 104). For example, such computing device(s) can becomponents of a cloud-based server system and/or other type of computingsystem that can communicate with the vehicle computing system 102 of thevehicle 104. The computing device(s) of the operations computing system106 can include various components for performing various operations andfunctions. For instance, the computing device(s) can include one or moreprocessor(s) and one or more tangible, non-transitory, computer readablemedia. The one or more tangible, non-transitory, computer readable mediacan store instructions that when executed by the one or moreprocessor(s) cause the operations computing system 106 (e.g., the one ormore processors, etc.) to perform operations and functions, such asthose for providing a user control of the vehicle 104 to assist thevehicle 104 in times of distress, as described herein.

A vehicle 104 can experience an event that effects the autonomousoperation of the vehicle 104. The event can include a fault associatedwith the vehicle 104 that hinders an ability of the vehicle 104 toautonomously operate without human user input to the vehicle 104. Forinstance, the vehicle 104 can experience a fault in the operation of oneor more of its sensors 112 (e.g., LIDAR system), a fault associated withthe autonomy computing system 114, a fault associated with a vehiclecontrol system 116, and/or other types of faults. By way of example, thevehicle 104 can experience a communication error between the vehicle'sonboard systems (e.g., between the motion planning system 134 and thevehicle control system(s) 116) such that the vehicle 104 is unable toproperly navigate through its surroundings in the fully autonomousoperating mode 108A.

The vehicle 104 can decelerate until the vehicle 104 reaches a stoppedposition in response to the occurrence of such an event. For instance,FIG. 3 depicts an example vehicle travel way 300 according to exampleembodiments of the present disclosure. The travel way 300 can include,for example, a roadway of an automobile and/or other types of travelways. As shown, the vehicle 104 can decelerate to a first position 302(e.g., a stopped position) that is at least partially in the vehicletravel way 300. This may occur such that the vehicle 104 can avoidtravelling a significant distance after the occurrence of an event thathinders autonomous operation of the vehicle 104. One or more otherobjects 304 (e.g., other vehicles, bicycles, pedestrians, etc.) can alsobe located in the travel way 300. The other object(s) 304 may alsodecelerate to a stopped position due to the positioning of the vehicle104 (e.g., at least partially in the travel way 300).

Returning to FIG. 1, the operations computing system 106 can identify anoccurrence of an event associated with the vehicle 104. In someimplementations, the vehicle computing system 102 of the vehicle 104 caninform the operations computing system 106 of the occurrence of theevent. For example, the vehicle computing system 102 can detect acommunication error between the onboard systems of the vehicle 104(e.g., between the sensors 112 and the autonomy system 114). The vehiclecomputing system 102 can provide, to the operations computing system106, data 140 that is indicative of the event associated with thevehicle 104 (e.g., the communication error) and/or that the vehicle 104is stopping (or has stopped) due to the event. The operations computingsystem 106 can receive the data 140 from the vehicle computing system102. The operations computing system 106 can identify that the eventassociated with the vehicle 104 has occurred based at least in part onthe data 140. Furthermore, the operations computing system 106 candetermine that the vehicle 104 cannot effectively operate in a fullyautonomous operating mode 108A based on the occurrence of the event.

In some implementations, the operations computing system 106 can monitorthe vehicle 104 and determine that an event has occurred with respect tothe vehicle 104. For example, the operations computing system 106 canmonitor data associated with the vehicle 104 (e.g., health andmaintenance data, etc.) in real-time, in near real-time, periodically,etc. The operations computing system 106 can determine that an eventassociated with the vehicle 104 (e.g., that hinders autonomousoperation) has occurred based at least in part on the monitored data. Inthis way, in some implementations, the operation computing system 106can identify the occurrence of an event associated with the vehicle 104independent of the vehicle's an onboard event detection.

Additionally, or alternatively, a user can send a communication to theoperations computing system 106 and/or otherwise inform the entityassociated with the vehicle 104 that an event has occurred. For example,a user (e.g., a passenger, a non-passenger observer of the vehicle 104)can send a message (e.g., textual, audio, etc.) to the operationscomputing system 106 indicating the occurrence of an event (e.g., a rockstriking a sensor 112). In some implementations, the user can contact anoperator of an entity associated with the vehicle 104 (e.g., via atelephone conversation, a video conference, etc.).

The vehicle 104 can perform an evaluation to determine whether thevehicle 104 is in condition to be operated by a user. In someimplementations, such an evaluation can be performed at the request ofand/or by instruction of the operations computing system 106. Thevehicle computing system 102 can cause the vehicle 104 to perform anevaluation of the event associated with the vehicle 104 to determinethat it is safe for a user to operate the vehicle 104. For example, thevehicle computing system 102 can analyze data associated with thevehicle 104 (e.g., health/maintenance data, sensor data 118, state data130, prediction data 132, motion plans 134, and/or other data) toperform an onboard diagnostic to determine the cause, source, location,etc. of the event to determine if operating the vehicle 104 in a manualoperating mode 108C (and/or semi-autonomous mode 108B) would increasethe risk of harm to a user and/or the risk of harm to the vehicle 104.By way of example, the vehicle computing system 102 can determine thatthe vehicle 104 has a flat tire. The vehicle computing system 102 canprovide data 142, to the operations computing system 106, indicatingthat the vehicle 104 is not in a condition to be operated by a user(e.g., acting as a human driver). In such a case, the operationscomputing system 106 can coordinate the deployment of a maintenance teamto the vehicle 104. In the event that the vehicle computing system 102determines that the vehicle 104 is safe for user operation, the vehiclecomputing system 102 can provide data 142, to the operations computingsystem 106, indicating that the vehicle 104 is in a condition to beoperated by a user. The operations computing system 106 can obtain, fromthe vehicle 104, the data 142 associated with the evaluation of thevehicle 104 that indicates that the vehicle 104 is in a safe conditionto be operated by the at least one user.

In some implementations, the operations computing system 106 can performan evaluation to determine whether the vehicle 104 is in a safecondition to be operated by a user. For example, the operationscomputing system 106 can perform an evaluation to determine that thevehicle 104 is (or is not) in a condition to be operated by a user basedat least in part on data obtained by the vehicle 104, monitored data,and/or other data associated with the vehicle 104. In this way, theoperations computing system 106 can obtain data associated with anevaluation of the vehicle 104 that indicates that the vehicle 104 is (oris not) in a safe condition to be operated by a user, without thevehicle 104 having to perform such an evaluation.

In the event the vehicle 104 is safe for a user to operate, theoperations computing system 106 can coordinate user assistance for thevehicle 104. For example, in response to identifying the occurrence ofthe event associated with the vehicle 104 (and/or the determination thatthe vehicle 104 is safe to operate), the operations computing system 106can identify one or more users to potentially operate the vehicle 104.For instance, the operations computing system 106 can identify user(s)to move the vehicle 104 from a stopped position (e.g., from the firstposition 302 shown in FIG. 3).

FIG. 4 depicts an example geographic area 400 with user(s) according toexample embodiments of the present disclosure. The vehicle 104 can bestopped within the geographic area 400 due to the occurrence of theevent, as described herein. In response to the occurrence of the event,the operations computing system 106 can identify one or more users 110to potentially operate the vehicle 104. The user(s) can be associatedwith a vehicle service (e.g., of the entity). For example, the user(s)can include a user that has downloaded a software application associatedwith the entity (e.g., that is associated with the vehicle 104), a userthat has made a service request with the entity, a user that is acustomer of the entity, a user that has registered with (e.g., signed-upwith, has an account with, has subscribed to) the entity, a user that isa vehicle operator (e.g., human driver) of one or more vehicles within afleet, etc.

In some implementations, the user(s) can be passenger(s) 402 of thevehicle 104. For example, the vehicle 104 can provide a transportationservice (e.g., rideshare service) to one or more passengers 402. Theoperations computing system 106 can identify the passenger(s) 402 asusers that could potentially operate the vehicle 104 based at least inpart on the occurrence of the event associated with the vehicle 104(e.g., that has caused the vehicle 104 to stop).

In some implementations, the user(s) 110 can be non-passenger user(s)404 (e.g., pedestrians) that are not currently riding in the vehicle104. By way of example, the vehicle 104 can experience an event (e.g.,sensor hardware overheating) while in the geographic area 400. Theoperations computing system 106 can identify one or more usersassociated with the vehicle service 104 that are within the vicinity ofthe vehicle 104 and that could potentially operate the vehicle 104 tomove the vehicle 104 to a safer position. To do so, the operationscomputing system 106 can, for example, identify if any users that havedownloaded a software application associated with the entity (e.g., ontoa user device associated with the user) are within the vicinity of thevehicle 104 (e.g., based on signals associated with a positioning systemof the user device).

Additionally, or alternatively, the operations computing system 106 canidentify a user that is a human vehicle operator 406. By way of example,another vehicle 408 within a vehicle fleet (e.g., of the entity that isassociated with the vehicle 104) can be located within the vicinity ofthe vehicle 104. The other vehicle 408 can have a human vehicle operator406 located within the other vehicle 408. The operations computingsystem 106 can identify the human vehicle operator 406 of the othervehicle 408 as a user that could potentially operate the vehicle 104(e.g., to move it to a different location).

In some implementations, the operations computing system 106 canidentify user(s) that can potentially operate the vehicle 104 based atleast in part on one or more factor(s). For example, the operationscomputing system 106 can identify the user(s) based at least in part ona distance between the user(s) and the vehicle 104, an estimated time itwould take for the user(s) to travel to the vehicle 104, a route theuser(s) would traverse to arrive at the location of the vehicle 104,and/or other factors. For example, with reference to FIG. 4, theoperations computing system 106 may first identify passengers 402 of thevehicle 104, then nearby non-passenger user(s) 404 of the vehicleservice(s), and then human vehicle operator(s) 406 of other vehicles 408as user(s) to potentially operate the vehicle 104 based on the distance,time, route, etc. between that respective user and the vehicle 104.

Returning to FIG. 1, the operations computing system 106 can determineat least one of the identified users to operate the vehicle 104 (e.g.,to move the vehicle 104) based at least in part on a profile associatedwith the at least one user. For instance, the operations computingsystem 106 can select a user 110 to operate the vehicle 104 based atleast in part on any of the information provided in the profile 200(and/or other information). For example, the operations computing system106 can access the profile 200 associated with a user 110 and determinethat the user 110 is authorized to operate the vehicle 104 based atleast in part on the profile 200 associated with the user 110 (e.g., theinformation 210 associated with a vehicle operating license of the user110, if available). Additionally, or alternatively, the operationscomputing system 106 can determine that the user 110 is willing tooperate the vehicle 104 based at least in part on the profile 200associated with the user 110 (e.g., the data 212 indicative of awillingness of the user 110 to operate a vehicle 104).

In some implementations, the operations computing system 106 can performan additional user authorization process. For example, if a user 110 iswilling to operate the vehicle 104, the operations computing system 106can provide a communication to the user 110 (e.g., via a user deviceassociated with the user 110, human machine interface 138 of the vehicle104, etc.) requesting that the user 110 scan the user's vehicleoperating license via an imaging device associated with a user deviceand/or onboard the vehicle 104. In this way, the operations computingsystem 106 can attempt to obtain up-to-date information regarding theuser's legal vehicle operating status.

The following provides an example of the operations computing system 106identifying and determining a user 110 to operate the vehicle 104. Oneor more passengers 402 can be riding in the vehicle 104 (e.g., for atransportation service) when a rock strikes the vehicle sensors. As aprecautionary measure, the vehicle 104 can decelerate to a stoppedposition. The stopped position may be at least partially within avehicle travel way 300 (e.g., roadway). The operations computing system106 can detect the occurrence of such an event, as described herein. Theoperations computing system 106 can identify one or more of thepassengers 402 of the vehicle 104 as users that can potentially operatethe vehicle 104 to move it from the stopped position to a shoulder ofthe travel way 300. The operations computing system 106 can alsoidentify one or more non-passenger users 404 and/or a human vehicleoperator 406, within the vicinity of the vehicle 104, as users that canpotentially operate the vehicle 104. The operations computing system 106can access the profiles associated with these identified users todetermine which (if any) of the users are authorized to operate thevehicle 104 and/or are willing to operate the vehicle 104. Theoperations computing system 106 can identify that a passenger 402 of thevehicle 104, a non-passenger 404, and a human vehicle operator 406 areeach authorized and willing to operate the vehicle 104 based on therespective profile(s). The operations computing system 106 canprioritize the passenger 402 of the vehicle 104 as the preferredoperator of the vehicle 104 based at least in part on the passenger 402being the closest distance to the vehicle 104.

The operations computing system 106 can facilitate communication withthe user 110 to request that the user 110 operate the vehicle 104 tocontrol a motion of the vehicle 104 (e.g., to change a location of thevehicle 104). For example, FIG. 5 depicts an example display device 500with an example user interface 502 according to example embodiments ofthe present disclosure. The display device 500 can be associated with auser device (e.g., a mobile phone) of the user 110 and/or a humanmachine interface 138 (e.g., a tablet) located onboard the vehicle 104(e.g., on and/or within the vehicle 104). The operations computingsystem 106 can provide data 504 for display on the user interface 502,by the display device 500. The data 504 can be indicative of, forexample, a textual message to the user 110. The textual message caninquire as to the user's willingness to operate the vehicle 104 and/orrequest that the user 110 operate the vehicle 104 (e.g., to move thevehicle 104 to a different position).

In some implementations, the user 110 can interact with the userinterface 502 to indicate that the user 110 is willing to operate thevehicle 104. For example, the user 110 can provide user input via theuser interface 502 (e.g., input to an interface element 506) indicatingthat the user 110 will (or will not) operate the vehicle 104. Theoperations computing system 106 can obtain data indicating that the user110 has accepted the request to operate the vehicle 104. In someimplementations, the operations computing system 106 can provide acommunication, to the user 110, acknowledging that the user 110 will (orwill not) operate the vehicle 104. In the event that operationscomputing system 106 obtains data indicating that the user 110 declinesthe request to operate the vehicle 104, the operations computing system106 can communicate with another of the identified user(s) (e.g.,another passenger, a non-passenger, a human vehicle operator in anothervehicle) to request that the other user operate the vehicle 104.

In some implementations, a human operator associated with an entity(e.g., an entity that is associated with the vehicle 104) can contactthe user 110 to determine whether the user 110 is willing to operate thevehicle 104 and/or to request that the user 110 operate the vehicle 104.In some implementations, the user 110 can be provided with an incentive(e.g., monetary, credit, discount, increase user rating, etc.) tooperate the vehicle 104. In the event that the user 110 operates thevehicle 104 in accordance with the request, the profile 200 of the user110 and/or an account of the user 110 can be modified to reflect theincentive.

The operations computing system 106 can adjust the vehicle 104 to enablea user to assist the vehicle 104. For instance, the operations computingsystem 106 can adjust the operating mode of the vehicle 104 to enable auser 110 to operate the vehicle 104. Returning to FIG. 1, the operationscomputing system 106 can provide one or more control signals 144 tocause the vehicle 104 to enter into an operating mode that allows atleast one user 110 to operate the vehicle 104. By way of example, theoperations computing system 106 can send one or more first controlsignals to the vehicle computing system 102 instructing the vehicle 104to enter into the manual operating mode 108C. As described herein, themanual operating mode 108C can allow a user 110 to operate the vehicle104 to control a motion of the vehicle 104.

The vehicle computing system 102 can receive the first control signal(s)indicating that the vehicle 104 is to enter into the manual operatingmode 108C. The vehicle computing system 102 can adjust the operatingmode of the vehicle 104 accordingly. For instance, the vehicle computingsystem 102 can provide one or more second control signals to one or moresystems onboard the vehicle 104 (e.g., the vehicle control systems 116)to cause the vehicle 104 to enter into the manual operating mode 108C.Such onboard systems can enable the vehicle input device(s) (e.g.,steering mechanism, acceleration mechanism, braking mechanism, etc.)such that the user 110 can provide user input to the vehicle inputdevices to at least partially control the motion of the vehicle 104. Avehicle input device can be enabled by, for example, a controller (e.g.,microcontroller) that receives the control signal and adjusts a state ofthe respective vehicle input device from a disabled state in which userinput is ignored and/or counter-acted to an enabled state in which userinput is allowed to control the vehicle input device. For example, whilein the manual operating mode 108C, the user 110 can adjust the steeringmechanism of the vehicle 104 to adjust the heading of the vehicle 104,adjust the acceleration mechanism of the vehicle 104 to adjust theacceleration of the vehicle 104, adjust the braking mechanism of thevehicle 104 to decelerate the vehicle 104, etc. In some implementations,the user 110 can control the motion of the vehicle 104 via a userinterface that can be provided via a user device associated with theuser 110 and/or the human-machine interface(s) 138. The user 110 canoperate the vehicle 104 to move the vehicle 104 from the first position302 (e.g., as shown in FIG. 3) to a second position 602 (e.g., as shownin FIG. 6). The second position 602 can be, for example, completely outof the travel way 300 (e.g., on the shoulder of a road, in a parkinglot, etc.). The vehicle 104 can enter into another operating mode whenin the second position 602, such as a parked operating mode, a serviceoperating mode, etc.

In some implementations, the vehicle 104 can be subject to one or morelimitations of one or more operating parameters of the vehicle 104 whilein the manual operating mode 108C. For example, the vehicle 104 can besubject to a limitation on a speed associated with the vehicle 104(e.g., a maximum speed and/or acceleration limit), a limitation on adistance associated with the vehicle 104 (e.g., a maximum distance thevehicle 104 is permitted to travel from its stopped position), alimitation on an amount of time the user 110 can operate the vehicle104, and/or other limitations.

Additionally, or alternatively, the vehicle 104 can be subject to alimitation on the location to which the vehicle 104 can travel. By wayof example, the vehicle computing system 102 can determine that trafficis located (or likely to be located) to the side of the vehicle 104based at least in part on sensor data 118 associated with the vehicle'ssurrounding environment (e.g., LIDAR data showing one or more objects totravel to the side of the vehicle 104) and/or map data 120 provided tothe vehicle 104 (e.g., indicating an active travel lane adjacent to theside of the vehicle 104). The vehicle computing system 102 can limit themotion of a steering mechanism of the vehicle 104 such that the user 110cannot steer the vehicle 104 into traffic from the stopped position ofthe vehicle 104 while in the manual operating mode 108C. In this way,the vehicle computing system 102 can leverage the data acquired onboardthe vehicle 104 and/or provided to the vehicle 104 to help increase thesafety of the user 110, the vehicle 104, as well as other objects in thesurrounding environment.

In some implementations, the user 110 can assist with adjusting thevehicle 104 into an operating mode that allows the user 110 to controlthe vehicle 104. For example, the operations computing system 106 canprovide a communication to the user 110 indicating a sequence of onboardinterfaces that can be used to change the operating mode of the vehicle104. The user 110 can user the sequence to adjust the operating mode ofthe vehicle 104. For example, the user 110 may provide user input (e.g.,via physical input, voice input) to a plurality of interfaces (e.g.,buttons, levers, user interface elements, etc.) onboard the vehicle 104in a particular order and/or timing to cause the vehicle 104 to enterinto the manual operating mode 108C.

FIG. 7 depicts a flow diagram of an example method 700 of providing usercontrol of autonomous vehicles according to example embodiments of thepresent disclosure. One or more portion(s) of the method 700 can beimplemented by one or more computing devices such as, for example, theone or more computing device(s) of the operations computing system 106.Each respective portion of the method 700 (e.g., 702-712) can beperformed by any (or any combination) of the one or more computingdevices. For example, one portion can be performed by a first computingdevice of the operations computing system 106 and another portion can beperformed by the first computing device and/or a different computingdevice of the vehicle computing system 102. Moreover, one or moreportion(s) of the method 700 can be implemented as an algorithm on thehardware components of the device(s) described herein (e.g., as in FIGS.1 and 8), for example, to enable a user to control an autonomous vehicleto provide the vehicle with assistance. FIG. 7 depicts elementsperformed in a particular order for purposes of illustration anddiscussion. Those of ordinary skill in the art, using the disclosuresprovided herein, will understand that the elements of any of the methodsdiscussed herein can be adapted, rearranged, expanded, omitted,combined, and/or modified in various ways without deviating from thescope of the present disclosure.

At (702), the method 700 can include identifying an event associatedwith a vehicle. For instance, the operations computing system 106 canidentify an occurrence of an event associated with a vehicle 104. Theevent can hinder an ability of the vehicle 104 to operate in anautonomous operating mode. For example, the vehicle 104 can experiencean error associated with the autonomy system 114, damage to one or moresensors 112 onboard the vehicle 104, etc. The vehicle computing system102 can send data indicative of the event to the operations computingsystem 106 to report the occurrence of the event. Moreover, such anevent can cause the vehicle 104 to decelerate to a stopped position, asa precautionary safety measure. As described herein, the vehicle 104 canbe in a stopped position that is at least partially in a travel way 300.

At (704), the method 700 can include identifying one or more users topotentially operate the vehicle. For instance, in response toidentifying the occurrence of the event associated with the vehicle 104,the operations computing system 106 can identify one or more users topotentially operate the vehicle 104. For example, the operationscomputing system 106 can identify one or more users that can potentiallymove the vehicle 104 from the stopped position. In some implementations,an identified user can be a passenger of the vehicle 104 (e.g., for atransportation service provided by the vehicle 104). In someimplementations, a user may not be a passenger of the vehicle 104. Theuser can, however, be associated with a vehicle service of the vehicle104 (e.g., a user that has downloaded a software application forrequesting vehicle services) and not associated with a vehiclemaintenance team.

At (706), the method 700 can include accessing data indicative of aprofile for one or more of the users. For instance, for each (or atleast a subset of) the identified user(s), the operations computingsystem 106 can access data indicative of a profile 200 associated withthe respective user. As described herein, the profile 200 associatedwith a user can indicate that the user is legally able to operate thevehicle 104, a willingness of the user to operate the vehicle 104 and/orother information. Moreover, in response to the occurrence of the eventassociated with the vehicle 104, the operations computing system 106 candetermine a user 110 to operate the vehicle 104 based at least in parton a profile 200 associated with the user 110, at (708). For example,the operations computing system 106 can select a user 110 to operate thevehicle 104 based at least in part on the profile 200 indicating thatthe user 110 is legally authorized to operate the vehicle 104 and thatthe user 110 is willing to operate the vehicle 104. In someimplementations, the operations computing system can determine more thanone user to operate the vehicle 104.

In some implementations, the determination of the user to operate thevehicle 104 and/or the determination of the user's willingness tooperate the vehicle 104 can include interaction with the user (e.g.,device messaging, by another human, etc.). For instance, at (710), themethod 700 can include communicating with the user. In someimplementations, the operations computing system 106 can provide acommunication to the user 110 requesting that the user 110 operate thevehicle 104 to control a motion of the vehicle 104 (e.g., to move thevehicle 104 completely out of the travel way 300). As described hereinwith reference to FIG. 5, such a communication can be provided to theuser 110 via a user device associated with the user 110 and/or to ahuman machine interface 138 associated with the vehicle 104.Additionally, or alternatively, a human operator (e.g., associated withthe entity) and the user can perform a two-way voice and/or video callto help select the user to operate the vehicle 104 (e.g., to determinethe user's willingness). In some implementations, the user 110 canconfirm that the user is willing to operate the vehicle 104 (e.g., viauser input provided to the user device and/or human machine interface138). In this way, the user can also be included in the process ofdetermining the user-operator of the vehicle. In the event that theoperations computing system 106 selects a plurality of users to operatethe vehicle 104, the operations computing system 106 can send acommunication to each of the users, requesting that the respective useroperate the vehicle 104. The operations computing system 106 canultimately select a user of the user(s) that accept the request (e.g.,the user that is the first to respond, the user with the highest userrating, etc.) to operate the vehicle 104.

At (712), the method 700 can include adjusting an operating mode of thevehicle to allow the user to control the vehicle. For instance, theoperations computing system 106 can provide one or more control signals144 to cause the vehicle 104 to enter into a manual operating mode 108Cthat allows the user 110 to operate the vehicle 104. The vehicle 104 canreceive the control signal(s) 144 and/or other data indicating that thevehicle 104 is to enter into the manual operating mode 108C. The vehicle104 can adjust an operating mode of the vehicle 104 such that thevehicle 104 enters into the manual operation mode 108C to allow the user110 to operate the vehicle 104 to control the motion of the vehicle 104.In some implementations, the vehicle 104 is subject to one or morelimitations of one or more operating parameters of the vehicle 104 whilein the manual operating mode 108C. The limitations can include, forexample, a limitation on a speed associated with the vehicle 104, alimitation on a distance associated with the vehicle 104, a limitationon a location to which the vehicle 104 can travel, or a limitation of anamount of time the user 110 can operate the vehicle 104. As describedherein, the limitation on the location can be based at least in part onat least one of sensor data 118 acquired by the vehicle 104 or map data120 provided to the vehicle 104.

FIG. 8 depicts an example system 800 according to example embodiments ofthe present disclosure. The example system 800 illustrated in FIG. 8 isprovided as an example only. The components, systems, connections,and/or other aspects illustrated in FIG. 8 are optional and are providedas examples of what is possible, but not required, to implement thepresent disclosure. The example system 500 can include the vehiclecomputing system 102 of the vehicle 104 and the operations computingsystem 106 that can be communicatively coupled to one another over oneor more networks 810. As described herein, the operations computingsystem 106 can be associated with a central operations system and/or anentity associated with the vehicle 104 such as, for example, a vehicleowner, vehicle manager, fleet operator, service provider, etc.

The computing device(s) 801 of the vehicle computing system 102 caninclude processor(s) 802 and a memory 804. The one or more processors802 can be any suitable processing device (e.g., a processor core, amicroprocessor, an ASIC, a FPGA, a controller, a microcontroller, etc.)and can be one processor or a plurality of processors that areoperatively connected. The memory 804 can include one or morenon-transitory computer-readable storage media, such as RAM, ROM,EEPROM, EPROM, one or more memory devices, flash memory devices, etc.,and combinations thereof.

The memory 804 can store information that can be accessed by the one ormore processors 802. For instance, the memory 804 (e.g., one or morenon-transitory computer-readable storage mediums, memory devices)on-board the vehicle 104 can include computer-readable instructions 806that can be executed by the one or more processors 802. The instructions806 can be software written in any suitable programming language or canbe implemented in hardware. Additionally, or alternatively, theinstructions 806 can be executed in logically and/or virtually separatethreads on processor(s) 802.

For example, the memory 804 on-board the vehicle 104 can storeinstructions 806 that when executed by the one or more processors 802on-board the vehicle 104 cause the one or more processors 802 (thevehicle computing system 102) to perform operations such as any of theoperations and functions of the vehicle computing system 102, asdescribed herein.

The memory 804 can store data 808 that can be obtained, received,accessed, written, manipulated, created, and/or stored. The data 808 caninclude, for instance, data associated with an operating mode of thevehicle, data associated with an event, data associated with an eventsafety evaluation, data associated with one or more vehicle inputdevices, data associated with vehicle services, sensor data 118, mapdata 120, positioning data, state data 130, prediction data 132, motionplans 134, cost functions, and/or other data/information as describedherein. In some implementations, the computing device(s) 801 can obtaindata from one or more memory device(s) that are remote from the vehicle104.

The computing device(s) 801 can also include a communication interface809 used to communicate with one or more other system(s) on-board thevehicle 104 and/or a remote computing device that is remote from thevehicle 104 (e.g., of the operations computing system 106). Thecommunication interface 809 can include any circuits, components,software, etc. for communicating via one or more networks (e.g., 810).In some implementations, the communication interface 809 can include,for example, one or more of a communications controller, receiver,transceiver, transmitter, port, conductors, software and/or hardware forcommunicating data.

The operations computing system 106 can include one or more computingdevices 821 that are remote from the vehicle computing system 102. Thecomputing device(s) 821 of the operations computing system 106 caninclude processor(s) 822 and a memory 824. The one or more processors822 can be any suitable processing device (e.g., a processor core, amicroprocessor, an ASIC, a FPGA, a controller, a microcontroller, etc.)and can be one processor or a plurality of processors that areoperatively connected. The memory 824 can include one or morenon-transitory computer-readable storage media, such as RAM, ROM,EEPROM, EPROM, one or more memory devices, flash memory devices, etc.,and combinations thereof.

The memory 824 can store information that can be accessed by the one ormore processors 822. For instance, the memory 824 (e.g., one or morenon-transitory computer-readable storage mediums, memory devices) caninclude computer-readable instructions 826 that can be executed by theone or more processors 822. The instructions 826 can be software writtenin any suitable programming language or can be implemented in hardware.Additionally, or alternatively, the instructions 826 can be executed inlogically and/or virtually separate threads on processor(s) 822.

For example, the memory 824 can store instructions 826 that whenexecuted by the one or more processors 822 cause the one or moreprocessors 822 (the operations computing system 106) to performoperations such as any of the operations and functions of the operationscomputing system 106 or for which the operations computing system isconfigured, as described herein, operations and functions for providinguser control of autonomous vehicles (e.g., one or more portions ofmethod 700), and/or any other operations and functions described herein.

The memory 824 can store data 828 that can be obtained, received,accessed, written, manipulated, created, and/or stored. The data 828 caninclude, for instance, data associated with an event experienced by avehicle, data associated with an event safety evaluation, dataassociated with the operating modes of the vehicle, data associated withprofiles of users, other data associated with a vehicle and/or a user,and/or other data/information as described herein. In someimplementations, the computing device(s) 821 can obtain data from one ormore memory device(s) that are remote from the operations computingsystem 106 and/or are onboard the vehicle 104.

The computing device(s) 821 can also include a communication interface829 used to communicate with one or more system(s) onboard the vehicle104 and/or another computing device that is remote from the operationscomputing system 106. The communication interface 829 can include anycircuits, components, software, etc. for communicating via one or morenetworks (e.g., 810). In some implementations, the communicationinterface 829 can include, for example, one or more of a communicationscontroller, receiver, transceiver, transmitter, port, conductors,software and/or hardware for communicating data.

The network(s) 810 can be any type of network or combination of networksthat allows for communication between devices. In some embodiments, thenetwork(s) 810 can include one or more of a local area network, widearea network, the Internet, secure network, cellular network, meshnetwork, peer-to-peer communication link and/or some combination thereofand can include any number of wired or wireless links. Communicationover the network(s) 810 can be accomplished, for instance, via acommunication interface using any type of protocol, protection scheme,encoding, format, packaging, etc.

Computing tasks discussed herein as being performed at computingdevice(s) remote from the vehicle can instead be performed at thevehicle (e.g., via the vehicle computing system), or vice versa. Suchconfigurations can be implemented without deviating from the scope ofthe present disclosure. The use of computer-based systems allows for agreat variety of possible configurations, combinations, and divisions oftasks and functionality between and among components.Computer-implemented operations can be performed on a single componentor across multiple components. Computer-implemented tasks and/oroperations can be performed sequentially or in parallel. Data andinstructions can be stored in a single memory device or across multiplememory devices.

While the present subject matter has been described in detail withrespect to specific example embodiments and methods thereof, it will beappreciated that those skilled in the art, upon attaining anunderstanding of the foregoing can readily produce alterations to,variations of, and equivalents to such embodiments. Accordingly, thescope of the present disclosure is by way of example rather than by wayof limitation, and the subject disclosure does not preclude inclusion ofsuch modifications, variations and/or additions to the present subjectmatter as would be readily apparent to one of ordinary skill in the art.

1. A computing system for providing user control of autonomous vehicles,comprising: one or more processors; and one or more memory devices, theone or more memory devices storing instructions that when executed bythe one or more processors cause the computing system to performoperations, the operations comprising: identifying an occurrence of anevent associated with an autonomous vehicle; in response to identifyingthe occurrence of the event associated with the autonomous vehicle,identifying one or more users to potentially operate the autonomousvehicle to move the autonomous vehicle from a stopped position;determining at least one of the users to operate the autonomous vehiclebased at least in part on a profile associated with at least one user,wherein the profile associated with the at least one user comprises dataindicative of a willingness of the at least one user to operate theautonomous vehicle; and providing one or more control signals to causethe autonomous vehicle to enter into an operating mode that allows theat least one user to operate the autonomous vehicle.
 2. The computingsystem of claim 1, wherein the at least one user is a passenger of theautonomous vehicle for a transportation service provided by theautonomous vehicle.
 3. The computing system of claim 1, wherein theevent comprises a fault associated with the autonomous vehicle thathinders an ability of the autonomous vehicle to autonomously operatewithout human user input to the autonomous vehicle.
 4. The computingsystem of claim 3, wherein the autonomous vehicle is in the stoppedposition such that the autonomous vehicle is at least partially in avehicle travel way.
 5. The computing system of claim 1, furthercomprising: facilitating communication with the at least one user torequest that the at least one user operate the autonomous vehicle tocontrol a motion of the autonomous vehicle to change a location of theautonomous vehicle.
 6. The computing system of claim 1, wherein theoperations further comprise: obtaining data associated with anevaluation of the autonomous vehicle that indicates that the autonomousvehicle is in a safe condition to be operated by the at least one user.7. (canceled)
 8. The computing system of claim 1, wherein determining atleast one of the users to operate the autonomous vehicle based at leastin part on the profile associated with the at least one user comprises:determining that the at least one user is authorized to operate theautonomous vehicle based at least in part on the profile associated withthe at least one user; and determining that the at least one user iswilling to operate the autonomous vehicle based at least in part on theprofile associated with the at least one user.
 9. A computer-implementedmethod of providing user control of autonomous vehicles, comprising:identifying, by a computing system comprising one or more computingdevices, an occurrence of an event associated with an autonomousvehicle, wherein the event hinders an ability of the autonomous vehicleto operate in an autonomous operating mode; in response to theoccurrence of the event associated with the autonomous vehicle,determining, by the computing system, a user to operate the autonomousvehicle based at least in part on a profile associated with the user,wherein the profile associated with the user comprises data indicativeof a willingness of the user to operate the autonomous vehicle; andproviding, by the computing system, one or more control signals to causethe autonomous vehicle to enter into an operating mode that allows theuser to operate the autonomous vehicle.
 10. The computer-implementedmethod of claim 9, wherein the autonomous vehicle is subject to one ormore limitations of one or more operating parameters of the autonomousvehicle while in the operating mode that allows the user to operate theautonomous vehicle.
 11. The computer-implemented method of claim 10,wherein the one or more limitations comprise at least one of alimitation on a speed associated with the autonomous vehicle, alimitation on a distance associated with the autonomous vehicle, alimitation on a location to which the autonomous vehicle can travel, ora limitation of an amount of time the user can operate the autonomousvehicle.
 12. The computer-implemented method of claim 11, wherein thelimitation on the location is based at least in part on at least one ofsensor data acquired by the autonomous vehicle or map data provided tothe autonomous vehicle.
 13. The computer-implemented method of claim 9,wherein the user is not a passenger of the vehicle.
 14. Thecomputer-implemented method of claim 9, wherein the autonomous vehicleis in a stopped position that is at least partially in a travel way. 15.The computer-implemented method of claim 14, wherein the operationsfurther comprise: providing, by the computing system, a communication tothe user requesting that the user operate the autonomous vehicle tocontrol a motion of the autonomous vehicle to move the autonomousvehicle completely out of the travel way.
 16. The computer-implementedmethod of claim 9, wherein the profile associated with the userindicates that the user is legally able to operate the autonomousvehicle.
 17. An autonomous vehicle comprising: one or more processors;and one or more memory devices, the one or more memory devices storinginstructions that when executed by the one or more processors cause theautonomous vehicle to perform operations, the operations comprising:providing, to one or more computing devices that are remote from theautonomous vehicle, data indicative of an event associated with theautonomous vehicle; receiving data indicating that the autonomousvehicle is to enter into an operating mode, wherein the operating modeallows a user to operate the autonomous vehicle to control a motion ofthe autonomous vehicle, wherein the user is determined based at least inpart on a profile associated with the user, and wherein the profileassociated with the user comprises data indicative of a willingness ofthe user to operate the autonomous vehicle; and causing the autonomousvehicle to enter into the operating mode to allow the user to operatethe autonomous vehicle to control the motion of the autonomous vehicle.18. The autonomous vehicle of claim 17, wherein causing the autonomousvehicle to enter into the operating mode to allow the user to operatethe autonomous vehicle to control the motion of the autonomous vehiclecomprises: providing one or more control signals to one or more systemslocated onboard the autonomous vehicle to cause the autonomous vehicleto enter into the operating mode.
 19. The autonomous vehicle of claim17, wherein the operations further comprise: causing the autonomousvehicle to perform an evaluation of the event associated with theautonomous vehicle to determine that it is safe for the user to operatethe autonomous vehicle.
 20. The autonomous vehicle of claim 17, whereinthe profile indicates that the user is legally able to operate theautonomous vehicle.